package com.gxa.service;

import com.gxa.common.R;
import com.gxa.common.vo.AppointmentPageRequest;

/**
 * @author MacieSerenity
 */
public interface AppointmentManagementService {

    /**
     * 寻找所有的预约信息
     *
     * @param appointmentPageRequest 预约信息与条件
     * @return R
     */
    R findAllAppointment(AppointmentPageRequest appointmentPageRequest);

    /**
     * 添加一条预约信息
     *
     * @param userID    负责人ID
     * @param patientId 患者ID
     * @param days      预约天数
     * @return 预约结果R
     */
    R addAppointmentById(Integer userID, Integer patientId, Integer days);

    /**
     * 根据预约单ID处理（将状态设置为1）
     *
     * @param id 预约单的ID
     * @return 执行结果
     */
    R handleAppointmentById(Integer id);

    /**
     * 根据ID删除
     * @param id 要删除的预约ID
     * @return 执行结果R
     */
    R deleteAppointmentById(Integer id);
}
